package com.wrial.kind.greedy;
/*
 * @Author  Wrial
 * @Date Created in 22:44 2020/8/11
 * @Description  分发饼干
 * 假设你是一位很棒的家长，想要给你的孩子们一些小饼干。但是，每个孩子最多只能给一块饼干。
 * 对每个孩子 i ，都有一个胃口值 gi ，这是能让孩子们满足胃口的饼干的最小尺寸；
 * 并且每块饼干 j ，都有一个尺寸 sj 。如果 sj >= gi ，我们可以将这个饼干 j 分配给孩子 i ，这个孩子会得到满足。
 * 你的目标是尽可能满足越多数量的孩子，并输出这个最大数值。
 */

import java.util.Arrays;

public class FindContentChildren {
    /**
     * 也就是尽量给胃口最小的娃娃吃最少的饼干
     * 先排序，然后每次找最合适的饼干给孩子
     * @param g
     * @param s
     * @return
     */
    public int findContentChildren(int[] g, int[] s) {
        if (g.length == 0 || s.length == 0) return 0;
        Arrays.sort(g);
        Arrays.sort(s);
        int cookie = 0, child = 0;
        while (child < g.length && cookie < s.length) {
             if (g[child]<=s[cookie]){
                 child++;
             }
            cookie++;
        }
        return child;
    }
}
